package com.ellwood.modules.system.domain.VO.user;

import com.ellwood.common.core.utils.EllDateUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * @ProjectName: Ellwood-framework-boot
 * @PackageName: com.ellwood.modules.system.domain.VO.user
 * @ClassName: UserSaveVo
 * @Description: //  用户新增修改VO
 * @Author: Ellwood
 * @CreateDate: 2024/7/24 - 下午2:22
 * @Version: V1.0.0
 */
@EqualsAndHashCode(callSuper = false)
@Tag(name = "用户新增修改VO", description = "用户新增修改VO")
@Data
public class UserSaveVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "用户id")
    private Long userId;

    @Schema(name = "account", description = "用户账户", requiredMode = Schema.RequiredMode.REQUIRED)
    private String account;

    @Schema(
            name = "password",
            defaultValue = "123456",
            description = "密码",
            requiredMode = Schema.RequiredMode.REQUIRED
    )
    private String password;

    @Schema(name = "nickName", description = "真实姓名")
    private String nickName;

    @Schema(name = "age", description = "年龄")
    private Integer age;

    @Schema(name = "gender", description = "性别：0：男 1：女")
    private Integer gender;

    @Schema(name = "avatar", description = "头像")
    private String avatar;

    @Schema(name = "email", description = "邮箱")
    private String email;

    @Schema(name = "phone", description = "手机号")
    private String phone;

    @Schema(name = "birthday", description = "生日")
    @JsonFormat(pattern = EllDateUtils.YYYY_MM_DD)
    private Date birthday;

    @Schema(name = "IsMoney", description = "工资")
    private double IsMoney;

    @Schema(name = "isRemark", description = "备注")
    private String isRemark;

}
